package prefixsum;

/**
 * 给出 班级n 个同学的考试成绩，接下进行 m 次询问，每次询问第 t 个同学，然后需要我们输出第 t 个同学的成绩超过班级百分之几的人，
 * 百分数 p 可以这样算：p = (不超过第 t 个同学分数的人数 ) / n * 100%。输出的时候保留到小数点后 6 位，并且需要四舍五入。
 * 输入描述：输入两个数 n 和 m，两个数以空格隔开，表示 n 个同学和 m 次询问。
 * 第二行输入 n 个数值 ni，表示每个同学的分数，
 * 第三行输入 m 个数值mi，表示每次询问是询问第几个同学。
 * 输出描述：输出 m 行，每一行输出一个百分数 p，代表超过班级百分之几的人。
 *
 * 示例1：
 * 输入 ：
 * 3 2
 * 50 60 70
 * 1 2
 *
 * 输出
 * 33.333333%
 * 66.666667%
 */
public class 超过全班人数百分比 {
    public String printPercent(int[] score, int[] people) {
        int[] cnt = new int[151];
        for (int i = 0; i < score.length; i++) {
            cnt[score[i]] ++;
        }
        for(int i = 1; i < cnt.length; i++) {
            cnt[i] = cnt[i-1] + cnt[i];
        }
        StringBuilder res = new StringBuilder();
        for(int sc : people){
            //   sc 分数  - 1 的 和  / 总人数
            res.append(String.format("%.6f%% %n", (float)cnt[score[sc] - 1] / people.length * 100));
        }
        return res.toString();
    }
}
